import '../lib/jquery.js';
import { ajax } from '../utils/ajax.js';
import { nameTest, pwdTest } from '../utils/reg.js';

// 为表单元素绑定提交事件
$('form').on('submit', async (e) => {
    // 阻止表单的默认提交行为
    e.preventDefault();
    // 获取用户名输入框的值，并去除首尾空白字符
    const username = $('.username').val().trim();
    // 获取密码输入框的值
    const password = $('.password').val();

    // 检查用户名和密码是否都已填写
    if (!username || !password) {
        alert('Both username and password are required.');
        return;
    }
    // 验证用户名格式是否有效
    if (!nameTest(username)) {
        alert('Invalid username format.');
        return;
    }
    // 验证密码格式是否有效
    if (!pwdTest(password)) {
        alert('Invalid password format.');
        return;
    }

    try {
        const response = await ajax.post('/users/login', { username, password });
        if (response.data.code !== 1) {
            throw new Error(response.data.message || 'Login failed');
        }
        localStorage.setItem('token', response.data.token);
        localStorage.setItem('uid', response.data.user.id);

        // 使用setTimeout确保localStorage写入完成
        setTimeout(() => {
            window.location.replace('./index.html'); // 使用replace代替href
        }, 100);
    } catch (error) {
        $('.error').text(error.message).show(); // 确保错误信息显示
    }
});